package com.bitejiuyeke.biteadminservice.house.service;

import com.bitejiuyeke.biteadminapi.house.domain.dto.SearchHouseListReqDTO;
import com.bitejiuyeke.biteadminservice.house.domain.dto.*;
import com.bitejiuyeke.bitecommoncore.domain.dto.BasePageDTO;

import java.util.List;

public interface IHouseService {

    Long addOrEdit(HouseAddOrEditReqDTO houseAddOrEditReqDTO);

    HouseDTO detail(Long houseId);

    BasePageDTO<HouseDescDTO> list(HouseListReqDTO houseListReqDTO);

    /**
     * 更新房源缓存
     *
     * @param houseId
     */
    void cacheHouse(Long houseId);

    /**
     * 根据房东id查询其下房源id列表
     *
     * @param userId
     * @return
     */
    List<Long> listByUserId(Long userId);

    void editStatus(HouseStatusEditReqDTO houseStatusEditReqDTO);

    void refreshHouseIds();

    BasePageDTO<HouseDTO> searchList(SearchHouseListReqDTO searchHouseListReqDTO);
}
